Live musical performances require drummers to set the song tempo by counting off the correct beats per minute (BPM). Metronomes are often used to initiate the correct tempo, but band and metronome quickly become out of sync as tempo begins to drift. It is not uncommon for songs to speed up or slow down during a performance—the most common problem is the song being played too fast. There are a number of products that detect BPM but require an operator tap on a key/button. This is inconvenient as it typically takes two hands to play a musical instrument. Some products sense BPM by detecting drum head strikes but these have had limited success.
Dancing (animated) toys have been around for many years. Many are driven by DC motors and have motion defined by the mechanics of their internal gear system. Synchronization of motion to sound must be provided by ‘canned’ music that is played from an internal speaker. Motion can be synchronized to sound, but it must be specified at design time since the animated toy is unable to adapt to audio input. Because of this limitation, animated toys are perceived as ‘cute’ at first, but customers quickly tire of the same repeated motion and songs.
Other current products claim to react to music beats by moving or flashing a light, but failure to do so is a common complaint from customers: blinking LEDs are hit and miss at best, and ‘dance’ is usually reduced to a repeated motion that has no correlation to tempo. Algorithms for beat detection developed over the years require complex mathematics and electronics. To date, most of this work has been performed by academics with few practical applications making it to the consumer market of animated toys.
Thus, there is a need for a low cost tempo-calculating system which provides feedback to musicians indicating music tempo, and which can also serve as a synchronization mechanism for synchronizing mechanical movements and with music tempo.